1. Field of the Invention
The present invention generally relates to information processing apparatuses, information processing methods, and media for providing a computer program. More particularly, the invention relates to an information processing apparatus and an information processing method suitably used in, for example, downloading and installing a computer program. The invention also pertains to a medium for providing a computer program.
2. Description of the Related Art
When a computer is powered on, it executes a computer program for starting the computer (hereinafter sometimes referred to as a xe2x80x9cboot programxe2x80x9d), which is stored at a predetermined address, thereby running, for example, an operation system (OS). The computer is then ready to run various application programs under the control of the OS.
The address at which the boot program is stored, i.e., the address first accessed by the computer (more precisely, by the built-in central processing unit (CPU)) will hereinafter be sometimes referred to as the xe2x80x9cboot addressxe2x80x9d.
It is sometimes necessary to overwrite computer programs. For example, a broadcast station is required to overwrite a computer program, including a boot program, for controlling an integrated receiver and decoder (IRD) that is used for receiving satellite broadcasts. In this case, the computer program may be transmitted by a transmission medium via satellite or other means or may be recorded on a recording medium, such as a floppy disk, and then delivered.
However, the overwriting of the computer program may fail, for example, due to the user""s accidental operation or power failure, and in the worst case, the apparatus cannot be started.
One of the countermeasures taken against the above disadvantage is to provide two or more boot addresses. Then, a new boot program can be stored at a boot address other than the currently used boot address. Such a boot address storing the new boot program is then treated as the latest boot address. In this case, even if the overwriting of the new boot program fails, the previous boot program stored at one of the boot addresses can be executed to start the apparatus.
However, according to the above-described method in which a plurality of boot addresses are provided, a storage medium, such as a non-volatile memory, is required for storing the latest boot address. In overwriting the boot program, it is also necessary to overwrite the latest boot address stored in the non-volatile memory. If the overwriting of the boot address fails even when the overwriting of the boot program is successful, the apparatus is unfavorably started by the old boot program, or in the worst case, the apparatus is unable to be started.
Accordingly, in view of the above background, it is an object of the present invention to reliably run an apparatus in a normal condition (properly).
In order to achieve the above object, according to one aspect of the present invention, there is provided an information processing apparatus for performing a predetermined processing by executing a computer program. The information processing apparatus includes storage means for storing a boot program, which serves as a computer program for performing a booting operation, starting from a first address or a second address. Error detection means detects an error in the computer program stored in the storage means. Selection means selects one of the first address and the second address based on a result detected by the error detection means. Execution means executes the boot program stored from the first address or the second address which is selected by the selection means.
According to another aspect of the present invention, there is provided an information processing method for performing a predetermined processing by executing a computer program. The information processing method includes the steps of: detecting an error in a computer program stored in storage means for storing a boot program, which serves as a computer program for performing a booting operation, from a first address or a second address; selecting one of the first address and the second address based on a result of error detection on the computer program; and executing the boot program stored from the selected address.
According to still another aspect of the present invention, there is provided a medium for providing a computer program. The computer program includes the steps of: detecting an error in a computer program stored in storage means for storing a boot program, which serves as a computer program for performing a booting operation, from a first address or a second address; selecting one of the first address and the second address based on a result of error detection on the computer program; and executing the boot program stored from the selected address.
According to a further aspect of the present invention, there is provided an information processing apparatus for providing a second computer program dependent upon a first computer program. The information processing apparatus includes processing means for describing in the second computer program a version of the second computer program and a version of the first computer program compatible with the second computer program.
According to a yet further aspect of the present invention, there is provided an information processing method for providing a second computer program dependent upon a first computer program. The information processing method includes the step of describing in the second computer program a version of the second computer program and a version of the first computer program compatible with the second computer program.
According to a further aspect of the present invention, there is provided a medium for providing a second computer program dependent upon a first computer program. The medium includes in the second computer program a version of the second computer program and a version of the first computer program compatible with the second computer program.
According to a further aspect of the present invention, there is provided an information processing apparatus for installing a second computer program dependent upon a first computer program. The information processing apparatus includes determination means for making a determination of whether a version of the second computer program is compatible with a version of the first computer program, and for making a determination of whether a version of the first computer program is compatible with a version of the second computer program. Installation means installs the second computer program based on a result determined by the determination means.
According to a further aspect of the present invention, there is provided an information processing method for installing a second computer program dependent upon a first computer program. The information processing method includes the steps of: making a determination of whether a version of the second computer program is compatible with a version of the first computer program, and making a determination of whether a version of the first computer program is compatible with a version of the second computer program; and installing the second computer program based on a result of the determinations.